Jenkins 自动化部署

Jenkins 自动化部署

久仰Jenkins大名,特前来做个Demo以此来学习Jenkins自动化部署

一. 使用场景

使用Jenkins + Git + Maven 在Ubuntu下自动化部署SpringBoot项目,将SpringBoot项目上传至Git的master分支上,然后Jenkins就将Git上的分支拉过来,使用Maven构建,并在服务器上运行

二. 部署步骤

1. 安装Jenkins

在官网上(https://jenkins.io/) 点击Download 之后,选择所要部署的服务器发行版,我的服务器用的阿里云(Ubuntu 16.0.4)所以选择 Ubuntu/Debian系列。进入之后按照官方提示操作

  • 添加Jenkins的Debian软件仓库,用于自动安装
1
wget -q -O - https://pkg.jenkins.io/debian-stable/jenkins.io.key | sudo apt-key add -
  • 在/etc/apt/sources.list上添加实例
1
deb https://pkg.jenkins.io/debian-stable binary/
  • 安装Jenkins
1
2
sudo apt-get update
sudo apt-get install jenkins

2. 安装其依赖环境

2.1 安装Java

  • 添加ppa
1
2
sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
  • 安装oracle-java-installer
1
sudo apt-get install oracle-java8-installer
  • 获取JAVA_HOME
1
echo $JAVA_HOME

2.2 安装Maven

Maven 这里我使用的是 通过上传压缩包进行安装

1
2
3
4
mkdir /usr/local/maven  # 创建压缩包位置
mv apache-maven-3.6.0-bin.tar.gz /usr/local/maven # 移动压缩包到指定位置
cd /usr/local/maven
tar -zxvf apache-maven-3.6.0-bin.tar.gz # 解压
  • 修改配置文件
1
vim /usr/local/maven/apache-maven-3.6.0/conf/setting.xml

主要是修改localRepository文件路径,下载Jar文件的存储路径

1
<localRepository>/path/to/local/repo</localRepository> <!-- 可填写自己的路径 -->
1
2
3
4
5
6
<mirror> <!-- 配置阿里云的远程仓库 -->
<id>nexus-aliyun</id>
<mirrorOf>*</mirrorOf>
<name>Nexus aliyun</name>
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>
  • 配置环境变量
1
vim /etc/profile
1
2
3
# 在profile文件下添加
export M2_HOME=/usr/local/maven/apache-maven-3.6.0
export PATH=$M2_HOME/bin:$PATH

使配置文件生效

1
souce /etc/profile
  • 测试maven是否生效
1
mvn -v
  • 获取MAVEN_HOME参数
1
echo $M2_HOME

2.3 安装Git

1
sudo apt-get install git

3. 配置Jenkins

3.1 启动Jenkins

  • 启动Jenkins
1
sudo /etc/init.d/jenkins [start|restart|stop]
  • 启动之后,通过ip+8080访问jenkins,首次进入需要输入密码,密码位置:
1
cat /var/lib/jenkins/secrets/initialAdminPassword
  • 插件安装,点击Install suggested plugins,安装推荐插件(此过程需要等待一段时间)

  • 安装完成之后,进入Create First Admin User页面,里面输入用户名,密码即可

3.2 配置插件

在Jenkins中系统管理 - 插件管理里可以配置插件,其中在这里必要配置的插件就是Pipeline Maven Integration 或者 Maven Integration plugin

这样配置Maven之后,在New任务下,就会显示一个构建一个Maven任务了。

3.3 全局工具配置

  • 配置JDK

  • 配置Git

1552058978901

  • 配置Maven

1552058992737

3.4 系统配置

  • 配置Github Webhook

上面主要有3步: 第一步:填写Payload URL,即访问Jenkins的URL,第二步:选择Just the push event,第三步:打钩Active,然后点击Add webhook

4. 新建任务

回到Jenkins的页面,New任务,点击构建一个Maven任务,如果没有这一项,可以回到前面看下maven插件有没有安装

  • General配置

点击Github项目,填写项目URL

  • Source Code Management 配置

选中Git,配置Repository 》Repository URL,Credentials,Branch Specifier (blank for ‘any’)

  • Build Triggers 配置

按照下图选择即可

  • Build Environment 配置

展示个Demo,可以不配置

  • Pre Steps

展示Demo,可以不配置

  • Build配置

  • Post Steps配置

这里比较重要,主要就是执行部署后的操作,可以使用Shell文件进行配置。这里Shell的话,意图就是先Kill掉在运行的项目,然后把从Git上拉过来的,已经打包好了的Jar包运行在后台。具体的Shell文件的话,可以自己写,当然我是不会贴出来的。

到这里为止,关于Jenkins + Git + Maven的简单配置就基本完成了,其实Jenkins是一个很强大的工具,这里只是使用了其自动部署的功能,它还有自动测试,CI,CD功能等等,学习Jenkins对项目开发,或者别的都是一个巨大的帮助

参考

Jenkins+github+maven自动构建发布SpringBoot项目: https://blog.csdn.net/w105021/article/details/78657382

-------------本文结束感谢您的阅读-------------